package com.atguigu.classes.preconditions;

/**
 * @program: IDEAcode
 * @description:先比较，再换位
 * @author: Mr.zjx
 * create: 2021-08-04-18-51
 **/
public class 数组排序优化_重要 {
    public static void main(String[] args) {
        int[] arr = new int[]{5,8,3,4,6,1,2,8};
        sort(arr);
        for (int i = 0; i < arr.length; i++) {
            System.out.println(arr[i]);
        }
    }
    private static void sort(int[] arr){
        for (int i = 1; i < arr.length; i++) {
            //保存数组最小索引值
            int min = arr[i-1];
            int minIndex = i-1;
            //取值,前面值大于后一个值
            for(int j = i; j < arr.length;j++){
                //前值大于后值
                if (min > arr[j]){
                    //则最小值为后值，排前面
                    min = arr[j];
                    minIndex = j;
                }
            }
            //前后不相等的话 ，再索引排序
            if (minIndex != i-1){
                int temp = arr[minIndex];
                arr[minIndex] = arr[i-1];
                arr[i-1] = temp;
            }
        }
    }
}
